/**
 * \file common.h
 * \brief Toutes les fonctions réutilisiables
 * \author { Corentin.R Adam.T Clement.V William.B}
 * \version 0.1
 * \date 31 mai 2013
 */

#ifndef COMMON_H
#define	COMMON_H

#define DEBUG  1

#include <stdio.h>

/**
 * \enum Error
 * \brief Constantes d'erreurs.
 *
 * Str_err_e est une série de constantes prédéfinie pour diverses futures 
 * fonctions de l'objet error
 */
enum {
	NO_ERROR,               /*!< Pas d'erreur. */
	ARGUMENT_ERROR,         /*!< Erreur sur les arguments */
	FILE_ERROR,             /*!< Erreur dans les fichiers */
        DICO_ERROR,             /*!< Erreur dans le dicionnaire */
        COMPRESSION_ERROR,      /*!< Erreur de compression */
        DECOMPRESSION_ERROR,    /*!< Erreur de decompression */
};

typedef unsigned long int Code;


/**
 * \fn void debug(char *chaine)
 * \brief Affiche une si l'on se trouve en mode
 *
 * \param chaine La chaine à afficher si DEBUG à 1
 */
void debug(char *chaine);

/* renvoie 0 si tableaux egaux. une valeur >0 si str1 est plus grand dans l'ordre lexicographique et <0 sinon*/
int tcharequ(char* tab1,char * tab2,unsigned int nbelem);

char * tcharcpy(char* destination,char * source,unsigned int nbelem);

char * tcharcat(char* destination,unsigned int nbelem1,char * source,unsigned int nbelem2);

#endif	/* COMMON_H */

